package com.gopay.common.domain.riskcontrol;

import com.gopay.common.domain.BaseEntity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 风险快捷模型日志表
 * Created by Lenovo-songfengli on 2017/11/21.
 */
@Entity
@Table(name = "RC_EXPAY_MODEL_DTL")
public class RcExpayModelDtl  extends BaseEntity {

    /** 主键 */
    @Id
    @SequenceGenerator(name = "RC_EXPAY_MODEL_DTL_SEQ_GENERATOR", sequenceName = "RC_EXPAY_MODEL_DTL_SEQ", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "RC_EXPAY_MODEL_DTL_SEQ_GENERATOR")
    private long id;
    /** 订单号 */
    @Column(name="GOPAY_ORDER_ID")
    private String gopayOrderId;
    /** 触发时间 */
    @Column(name="TRIGGER_TS")
    private Date triggerTs;
    /** 交易时间 */
    @Column(name="GOPAY_TXN_TM")
    private Date gopayTxnTm;
    /** 客户名称 */
    @Column(name="CUST_NAME")
    private String custName;
    /** 客户id */
    @Column(name="CUST_ID")
    private String custId;
    /** 客户类型 */
    @Column(name="CUST_TYPE")
    private String custType;
    /** 交易类型 */
    @Column(name="GOPAY_INT_TXN_CD")
    private String gopayIntTxnCd;
    /** 支付方式 */
    @Column(name="PAY_CHANNEL")
    private String payChannel;
    /** 交易金额 */
    @Column(name="AMT")
    private BigDecimal amt;
    /** 是否最终处理方式 */
    @Column(name="IS_FINAL_DEAL")
    private String isFinalDeal = "0";
    /** 模型类型 D-借记 C-贷记 */
    @Column(name="MODEL_TYPE")
    private String modelType;
    /** 处理方式 */
    @Column(name="DEAL_TYPE")
    private String dealType;
    /** 处罚规则code */
    @Column(name="RULE_CODE")
    private String ruleCode;
    /** 处罚规则名称 */
    @Column(name="RISK_CONTENT")
    private String riskContent;
    /** 参数1 */
    @Column(name="PARAM1")
    private String param1;
    /** 参数2 */
    @Column(name="PARAM2")
    private String param2;
    /** 乐观锁版本号 */
    @Version
    @Column(name = "VERSION")
    private Integer version;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getGopayOrderId() {
        return gopayOrderId;
    }

    public void setGopayOrderId(String gopayOrderId) {
        this.gopayOrderId = gopayOrderId;
    }

    public Date getTriggerTs() {
        return triggerTs;
    }

    public void setTriggerTs(Date triggerTs) {
        this.triggerTs = triggerTs;
    }

    public Date getGopayTxnTm() {
        return gopayTxnTm;
    }

    public void setGopayTxnTm(Date gopayTxnTm) {
        this.gopayTxnTm = gopayTxnTm;
    }

    public String getCustName() {
        return custName;
    }

    public void setCustName(String custName) {
        this.custName = custName;
    }

    public String getCustId() {
        return custId;
    }

    public void setCustId(String custId) {
        this.custId = custId;
    }

    public String getCustType() {
        return custType;
    }

    public void setCustType(String custType) {
        this.custType = custType;
    }

    public String getGopayIntTxnCd() {
        return gopayIntTxnCd;
    }

    public void setGopayIntTxnCd(String gopayIntTxnCd) {
        this.gopayIntTxnCd = gopayIntTxnCd;
    }

    public String getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(String payChannel) {
        this.payChannel = payChannel;
    }

    public BigDecimal getAmt() {
        return amt;
    }

    public void setAmt(BigDecimal amt) {
        this.amt = amt;
    }

    public String getIsFinalDeal() {
        return isFinalDeal;
    }

    public void setIsFinalDeal(String isFinalDeal) {
        this.isFinalDeal = isFinalDeal;
    }

    public String getModelType() {
        return modelType;
    }

    public void setModelType(String modelType) {
        this.modelType = modelType;
    }

    public String getDealType() {
        return dealType;
    }

    public void setDealType(String dealType) {
        this.dealType = dealType;
    }

    public String getRuleCode() {
        return ruleCode;
    }

    public void setRuleCode(String ruleCode) {
        this.ruleCode = ruleCode;
    }

    public String getRiskContent() {
        return riskContent;
    }

    public void setRiskContent(String riskContent) {
        this.riskContent = riskContent;
    }

    public String getParam1() {
        return param1;
    }

    public void setParam1(String param1) {
        this.param1 = param1;
    }

    public String getParam2() {
        return param2;
    }

    public void setParam2(String param2) {
        this.param2 = param2;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
}
